package quinielaGold.beans;

/** Clase DatosRanking
 *@author autor: GoldBittle
 *        Proyecto QuiniGold Android
 * descripcion: bean asociado a la tabla Ranking de la base de datos
 */

import java.text.DecimalFormat;
import java.util.Hashtable;

import org.ksoap2.serialization.KvmSerializable;
import org.ksoap2.serialization.PropertyInfo;

public class DatosRanking implements KvmSerializable{
	private int temporada;
	private int jornada;
	private String usuario;
	private float aciertos;
	private int unos;
	private int equis;
	private int doses;

	/**getProperty Interface KvmSerializable*/
	public Object getProperty(int arg0) {
	 
	    switch(arg0)
	        {
	        case 0:
	            return aciertos;
	        case 1:
	            return null;
	        case 2:
	            return null;
	        case 3:
	            return doses;
	        case 4:
	            return equis;
	        case 5:
	            return jornada;
	        case 6:
	            return null;
	        case 7:
	            return temporada;
	        case 8:
	            return unos;
	        case 9:
	            return usuario;
        }
	 
	    return null;
	}
	
	/**getPropertyCount Interface KvmSerializable*/
	public int getPropertyCount() {
	    return 10;
	}
	
	/**getPropertyInfo Interface KvmSerializable*/
	public void getPropertyInfo(int ind, Hashtable ht, PropertyInfo info) {
	    switch(ind)
	        {
	        case 0:
	            info.type = PropertyInfo.INTEGER_CLASS;
	            info.name = "aciertos";
	            break;
	        case 1:
	            info.type = PropertyInfo.STRING_CLASS;
	            info.name = "aciertosFormateado";
	            break;
	        case 2:
	            info.type = PropertyInfo.STRING_CLASS;
	            info.name = "aciertosSinDecimales";
	            break;
	        case 3:
	            info.type = PropertyInfo.INTEGER_CLASS;
	            info.name = "doses";
	            break;
	        case 4:
	            info.type = PropertyInfo.INTEGER_CLASS;
	            info.name = "equis";
	            break;
	        case 5:
	            info.type = PropertyInfo.INTEGER_CLASS;
	            info.name = "jornada";
	            break;
	        case 6:
	            info.type = PropertyInfo.STRING_CLASS;
	            info.name = "porcentajeFormateado";
	            break;
	        case 7:
	            info.type = PropertyInfo.INTEGER_CLASS;
	            info.name = "temporada";
	            break;
	        case 8:
	            info.type = PropertyInfo.INTEGER_CLASS;
	            info.name = "unos";
	            break;
	        case 9:
	            info.type = PropertyInfo.STRING_CLASS;
	            info.name = "usuario";
	            break;
	        default:break;
	        }
	}
	
	/**setProperty Interface KvmSerializable*/
	public void setProperty(int ind, Object val) {
	    switch(ind)
	        {
	        case 0:
	        	aciertos = Integer.parseInt(val.toString());
	            break;
	        case 1:
	            break;
	        case 2:
	            break;
	        case 3:
	        	doses = Integer.parseInt(val.toString());
	            break;
	        case 4:
	        	equis = Integer.parseInt(val.toString());
	            break;
	        case 5:
	        	jornada = Integer.parseInt(val.toString());
	            break;
	        case 6:
	            break;
	        case 7:
	        	temporada = Integer.parseInt(val.toString());
	            break;
	        case 8:
	        	unos = Integer.parseInt(val.toString());
	            break;
	        case 9:
	        	usuario = val.toString();
	            break;
	        default:
	            break;
	        }
	}
	
	//Fin Implementacion Interface KvmSerializable
	//***********************************************************	

	public DatosRanking(){
		temporada=-1;
		jornada=-1;
		usuario="";
		aciertos=0;
		unos = 0;
		equis = 0;
		doses = 0;
	}
	public DatosRanking(int tem, int jor, String usu, float aci, int unos, int equis, int doses){
		temporada=tem;
		jornada=jor;
		usuario=usu;
		aciertos=aci;
		this.unos = unos;
		this.equis = equis;
		this.doses = doses;
	}
	public static DatosRanking create(int tem, int jor, String usu, float aci, int unos, int equis, int doses){
		return new DatosRanking(tem, jor, usu, aci, unos, equis, doses);
	}
	
	//Metodos de acceso a las variables miembro de la clase
	public int getTemporada(){return temporada;}
	
	public int getJornada(){return jornada;}
	
	public String getUsuario(){return usuario;}
	
	public float getAciertos(){return aciertos;}
	public String getAciertosSinDecimales()
	{
		DecimalFormat nf = new DecimalFormat("#0");
		return nf.format(aciertos);
	}
	public String getAciertosFormateado()
	{
		DecimalFormat nf = new DecimalFormat("#,###0.000");
		return nf.format(aciertos);
	}
	public String getPorcentajeFormateado()
	{
		DecimalFormat nf = new DecimalFormat("#,##0.00");
		return nf.format(aciertos*100/15);
	}
	public void setAciertos(float aciertos){this.aciertos=aciertos;}
	
	public int getUnos(){return unos;}

	public int getEquis(){return equis;}

	public int getDoses(){return doses;}
}
